<template>
	<view class="page">
		<form @submit="login">
			<view class="input-block">
				<input type="text" 
				v-model="user.username"
				class="input"
				placeholder="OO号/邮箱/手机号"
				@confirm="login"
				/>
				<input password="true" 
				v-model="user.password"
				class="input"
				placeholder="密码"
				@confirm="login"
				/>
			</view>
			
			<view >
				<button type="default" class="login-btn"
				style="background-color: #10D4FF;color: #ffffff;"
				form-type="submit"
				>登录</button>
			</view>
		
		</form>
		
		
		<view class="forgetAndRegister">
				<view class="forget">
					<text @click="tofogetPassword">忘记密码</text>
				</view>
				<view class="register" @click="toRegister">
					<text>用户注册</text>
				</view>
		</view>
		
		
		<view class="other-login-block">
			<view class="other-login-top">
				<text><hr></text>
				<text>其他登录方式</text>
				<text><hr></text>
			</view>
			<view class="other-login-bottom">
				<image class="login-icon" @click="qqLogin()" src="../../static/qq.png" mode=""></image>
				<image class="login-icon" @click="wxLogin()" src="../../static/wx.png" mode=""></image>
			</view>
		</view>
	</view>
</template>

<script>
	
	import utils from "../../common/util.js"
	var _self 
	
	export default {
		data() {
			return {
				user:{
					username: '',
					password: ''
				},
				saolei:{}
			}
		},
		onNavigationBarButtonTap(e) {
			if(e.text == '取消'){
				uni.navigateBack({
					delta:1,
					// animationType: 'fade-out',
					// animationDuration: 200
				})
			}
		},
		onLoad(data){
			_self = this
			if(data.username){
				this.user.username = data.username
			}
		},
		methods: {
			toRegister(){
				uni.navigateTo({
					url:'../register/register',
					animationType:'slide-in-bottom',
					animationDuration:500
				})
			},
			tofogetPassword(){
				uni.navigateTo({
					url:'../forgetPassword/forgetPassword',
					animationType:'slide-in-bottom',
					animationDuration:500
				})
			},
			login(){
				if(this.user.username == '' || this.user.password == ''){
					uni.showToast({
						title:'请填写完整！',
						icon:"none"
					})
				}else{
					uni.request({
						url: utils.basicUrl+'/oauth/user/login',
						method: 'POST',
						data:{
							..._self.user
						},
						success: function(res) {
							if(res.data.code === 20000){
								_self.getUserInformation(res.data.data)
								console.log(res.data)
							}else{
								_self.utils.requestFail(res)
								// _self.requestFail(res)
								// uni.showModal({
								// 	content: JSON.stringify(res),
								// 	showCancel: false
								// });
							}
						},
						fail: () => {
							uni.showModal({
								content: "网络错误 o(´^｀)o ",
								showCancel: false
							});
						},
						complete() {
							// 停止当前页面下拉刷新
							// uni.hideLoading()
						}
					});
				}
			},
			// 获取用户信息
			getUserInformation(tokenData){
				console.log('tokenData:'+tokenData)
				// 获取用户信息
				uni.request({
					url: utils.basicUrl+'/chatUser/search',
					method: 'POST',
					data:{
						username: _self.user.username
					},
					header:{
						"Authorization": tokenData.token_type+" "+tokenData.access_token
					},
					success: function(res) {
						if(res.data.code === 20000){
							if(res.data.data.length > 0){
								uni.setStorageSync("userInfo",res.data.data[0])
								uni.setStorageSync(res.data.data[0].id + "_access_token",tokenData.access_token)
								uni.setStorageSync(res.data.data[0].id + "_token_type",tokenData.token_type)
								uni.setStorageSync(res.data.data[0].id + "_refresh_token",tokenData.refresh_token)
								uni.setStorageSync(res.data.data[0].id + "_expires_in",tokenData.expires_in)
								var userList = uni.getStorageSync("userList")
								// debugger
								if(userList == ""){
									userList = []
									userList.push(res.data.data[0])
								}else{
									// 判断数组中是否包含该用户信息
									var flag = true
									for (var i = 0; i < userList.length; i++) {
										if(userList[i].id === res.data.data[0].id){
											// debugger
											// 更新 提到第一个
											flag = false
											userList.splice(i,1)
											userList.unshift(res.data.data[0])
										}
									}
									
									if(flag){
										userList.unshift(res.data.data[0])
									}
									uni.setStorageSync("userList",userList)
									
								}
								uni.setStorageSync("userList",userList)
								// 返回消息页面
								uni.reLaunch({
									url:'/pages/message/message',
									animationType: 'pop-in',
									animationDuration: 200
								})
							}else{
								uni.showModal({
									content: '没有该用户信息！',
									showCancel: false
								});
							}
							
							
						}else{
							_self.utils.requestFail(res)
							// _self.requestFail(res)
							// console.log(res.data.data)
							// uni.showModal({
							// 	content: JSON.stringify(res),
							// 	showCancel: false
							// });
						}
					},
					fail: () => {
						uni.showModal({
							content: "网络错误！",
							showCancel: false
						});
					}
				});
			},
			qqLogin() {
				
				uni.showLoading({
					mask:true,
					title:"QQ登录中.. ʕ•̀ ω • ʔ "
				})
				
				this.utils.closeSocket()
				
				uni.login({
					provider: 'qq',
					success(loginRes) {
						// 获取用户信息
						uni.getUserInfo({
							provider:"qq",
							success(info) {
								var userInfo = info.userInfo
								console.log(info)
								_self.isLogin = true
								_self.saolei.openId = userInfo.openId
								_self.saolei.headPic = userInfo.figureurl_qq
								_self.saolei.nickName = userInfo.nickName
								_self.saolei.gender = userInfo.gender
								_self.saolei.type = "qq"
								
								// 更新用户数据
								uni.request({
									url: utils.basicUrl+"/saoleiUser/update",
									method: "PUT",
									data: {
										..._self.saolei
									},
									success: function(res) {
										if(res.data.code === 20000){
											_self.saolei = res.data.data
											uni.setStorageSync("saolei_userInfo",res.data.data)
											uni.showToast({
												icon:"none",
												title:"qq登录成功 .^◡^. "
											})
											// 停止当前页面下拉刷新
											uni.hideLoading()
											uni.reLaunch({
												url:"../index/index",
												animationType:"slide-in-left",
												animationDuration:400
											})
										}else{
											_self.utils.requestFail(res)
											// uni.showToast({
											// 	icon:"none",
											// 	title: res.data
											// })
											// 停止当前页面下拉刷新
											uni.hideLoading()
										}
									},
									fail: () => {
										uni.showToast({
											icon:"none",
											title: '网络错误 •﹏• '
										})
										// 停止当前页面下拉刷新
										uni.hideLoading()
									},
									complete() {
										
									}
								})
							}
						})
					}
				})
				// setTimeout(function(){
				// 	// 停止当前页面下拉刷新
				// 	uni.hideLoading()
				// },500)
				
			},
			wxLogin() {
				
				
				uni.showToast({
					icon:"none",
					image:"/static/poor.jpeg",
					title:"众筹申请中.....",
					duration:3500,
				})
				
				// uni.showLoading({
				// 	mask:true,
				// 	title:"微信登录中.. ʕ•̀ ω • ʔ "
				// })
				
				// this.utils.closeSocket()
				
				// uni.login({
				// 	provider: 'weixin',
				// 	success(loginRes) {
				// 		// 获取用户信息
				// 		uni.getUserInfo({
				// 			provider:"weixin",
				// 			success(info) {
				// 				var userInfo = info.userInfo
				// 				// console.log(userInfo)
								
				// 				_self.isLogin = true
				// 				_self.saolei.openId = userInfo.openId
				// 				_self.saolei.headPic = userInfo.avatarUrl
				// 				_self.saolei.nickName = userInfo.nickName
				// 				if(userInfo.gender == 1){
				// 					_self.saolei.gender = "男"
				// 				}else{
				// 					_self.saolei.gender = "女"
				// 				}
				// 				_self.saolei.type = "wx"
								
				// 				// 更新用户数据
				// 				uni.request({
				// 					url: utils.basicUrl+"/saoleiUser/update",
				// 					method: "PUT",
				// 					data: {
				// 						..._self.saolei
				// 					},
				// 					success: function(res) {
				// 						if(res.data.code === 20000){
				// 							_self.saolei = res.data.data
				// 							uni.setStorageSync("saolei_userInfo",res.data.data)
				// 							uni.showToast({
				// 								icon:"none",
				// 								title:"微信登录成功 .^◡^. "
				// 							})
				// 							uni.reLaunch({
				// 								url:"../index/index",
				// 								animationType:"slide-in-left",
				// 								animationDuration:400
				// 							})
				// 							// 停止当前页面下拉刷新
				// 							uni.hideLoading()
				// 						}else{
				// 							uni.showToast({
				// 								icon:"none",
				// 								title: res.data
				// 							})
				// 							// 停止当前页面下拉刷新
				// 							uni.hideLoading()
				// 						}
				// 					},
				// 					fail: () => {
				// 						uni.showToast({
				// 							icon:"none",
				// 							title: '网络错误 o(´^｀)o '
				// 						})
				// 						// 停止当前页面下拉刷新
				// 						uni.hideLoading()
				// 					},
				// 					complete() {
										
				// 					}
				// 				})
				// 			}
				// 		})
				// 	}
				// })
				// setTimeout(function(){
				// 	// 停止当前页面下拉刷新
				// 	uni.hideLoading()
				// },500)
				
			}
		}
	}
</script>

<style>
	@import url("addAndRegister.css");
</style>
